This invention relates generally to data comparison circuits and, more particularly, to circuits for comparing a large number of multifield or multidimensional objects, such as from a data base, with one or more similarly structured objects for which a match is sought. A common problem in searching data bases is to locate objects that match other selected objects, at least to some degree. Each object in the data base is defined in some consistent manner as comprising multiple fields of data. For example, each "object" or record in a data base relating to people may contain separate fields for name, address, age, height, weight, color of hair, color of eyes, and so forth. One type of use for such a data base would be to retrieve the record for a specific person whose name and address are known.
A more complex use is to identify the records in the data base that match a selected object description to some degree. For example, one might wish to identify the records that match a particular physical description, including height, weight, hair color, and so forth. There may be some fields that are not known, such as name and address, so it is necessary to treat these as "don't care" fields. Data base searches of this type are typically performed by software in large high-speed computers, but there is a larger class of data base search problems, both in military and nonmilitary applications, for which software searches are simply too slow. In some cases a data base search must be performed so rapidly as to satisfy the needs of a "real time" system, in which extremely rapid responses are needed.
At present, only a hardware-structured search device is capable of meeting the speed requirements of these applications, but the hardware available prior to this invention is not adequate to the task. Basically, a hardware data base searching device must address a data base by its content rather than by means of an addressing structure. Of course, various content-addressable memories have been available for some years, but depend on the identification of an exact match in a small hardware memory.
Ideally, what is needed is a data searching device that will handle a large data base extremely rapidly, for exact or inexact matches between data base records and predefined objects having the same record structure as the data base records. The present invention is directed to this end.